#e
#Title[Sum̈v]
#Text[]
#Image[]
#BackGround[]
#BGM[]
#PlayLevel[Extra]
#ScriptVersion[2]
#Player[FREE]

script_enemy_main
{
let wt=20;
let spd=4;
let atackend=0;
let usebomb=0;

	//GoɈxs镔
	@Initialize
	{
	//   eϐ

	//   XyJ[hf[^
	SetLife(1000);
	SetScore(200000);
	SetDamageRate(30,  0);
	SetTimer(80);
	SetInvincibility(250);
	LoadGraphic("script\img\ExRumia.png");
	CutIn(KOUMA,"Sum̈v",GetCurrentScriptDirectory~"..\img\cutin07.png",0,0,255,320);

	}
	//   ʒu܂ňړ
	SetMovePosition02(GetCenterX, GetClipMinY+80, 60);

	BG_Standard;
	AtackTask;
	ControlTask;
	//G̃Ct0ɂȂ܂ŁA̕1t[1s
	@MainLoop
	{
		yield;


		if(OnBomb==false){
			SetCollisionA(GetX, GetY, 32);
			SetCollisionB(GetX, GetY, 24);
			usebomb=0;
		}
		else{
			usebomb++;
		}
		if(usebomb==1){
			BombBarrier;
		}
	}
	
	//`惋[vB1t[1s
	@DrawLoop
	{
		SetGraphicRect(0,1,63,64);
		if(GetSpeedX<0){
			SetGraphicRect(128,1,191,64);
		}
		if(GetSpeedX>0){
			SetGraphicRect(192,1,255,64);
		}
		SetColor(255,255,255);
		SetAlpha(255);
		if(OnBomb==true){SetAlpha(96);}
		SetTexture("script\img\ExRumia.png");//摜͔q
		DrawGraphic(GetX(),GetY());//G̍WEx[~A`;
	}
		
	//GłuԂɈxs镔
	@Finalize
	{
		CreateItem(ITEM_BOMB,GetX,GetY);
		DeleteGraphic("script\img\ExRumia.png");
		DeleteGraphic(GetCurrentScriptDirectory ~"..img\back1.png");
		DeleteGraphic(GetCurrentScriptDirectory ~"..img\back2.png");
	}
	//XyJ[h̔wi
	//Ă悢
	@BackGround
	{
		BG_Simple;
	}

	task AtackTask{
		wait(120);
		loop{
			let dir=GetAngleToPlayer;
			CreateShot01(GetX,GetY,spd,dir,PURPLE03,20);
			wait(wt);
			CreateShot01(GetX,GetY,spd,dir-15,BLUE03,20);
			CreateShot01(GetX,GetY,spd,dir+15,BLUE03,20);
			wait(wt);
			ascent(i in 0..4){
				CreateShot01(GetX,GetY,spd,dir-30+(i*20),GREEN03,20);
			}
			wait(wt);
			ascent(i in 0..7){
				CreateShot01(GetX,GetY,spd,dir-45+(i*15),YELLOW03,20);
			}
			wait(wt);
			ascent(i in 0..14){
				CreateShot01(GetX,GetY,spd,dir-(180/14*6.5)+(180/14*i),ORANGE03,20);
			}
			wait(wt*3);
			ascent(i in 0..28){
				CreateLaser01(GetX,GetY,spd*3,dir-(360/56)+(360/28*i),spd*wt*8,30,RED01,20);
			}
			wait(wt*3);
			MoveTask;
			atackend=1;
			wait(40);
			atackend=0;
		}
	}

	task MoveTask{		//@ʂ痣Ɉړp^[(^XNĂяo^Cv)
		let ptn=0;
		if(GetX<GetCenterX-100){ptn=3;}
		if(GetX>GetCenterX+100){ptn=4;}
		if(ptn==0){
			if(GetX>GetPlayerX){ptn=1;}
			else{ptn=2;}
		}
		if(ptn==1){
			SetMovePosition02(rand(GetX+40,GetX+60), rand(GetClipMinY+60,GetClipMinY+120), 40);
		}
		if(ptn==2){
			SetMovePosition02(rand(GetX-40,GetX-60), rand(GetClipMinY+60,GetClipMinY+120), 40);
		}
		if(ptn==3){
			SetMovePosition02(rand(GetCenterX+40,GetCenterX+80), rand(GetClipMinY+60,GetClipMinY+120), 40);
		}
		if(ptn==4){
			SetMovePosition02(rand(GetCenterX-40,GetCenterX-80), rand(GetClipMinY+60,GetClipMinY+120), 40);
		}
	}


	task ControlTask{
		wait(250);
		while(GetEnemyLife>800&&GetTimer>20){yield;}
		while(atackend==0){yield;}
		wt=18;
		spd=5.2;
		while(GetEnemyLife>600&&GetTimer>20){yield;}
		while(atackend==0){yield;}
		wt=16;
		spd=6.4;
		while(GetEnemyLife>400&&GetTimer>20){yield;}
		while(atackend==0){yield;}
		wt=14;
		spd=7.6;
		while(GetEnemyLife>200&&GetTimer>20){yield;}
		while(atackend==0){yield;}
		wt=12;
		spd=8.8;
		while(GetTimer>20){yield;}
		while(atackend==0){yield;}
		wt=10;
		spd=10;
	}

	#include_function".\function.txt"
}

